Event scheduling

ABSTRACT

In one aspect, the invention is a computer program product residing on a computer readable medium having a plurality of instructions stored thereon. The instructions when executed by the processor, cause that processor to schedule a network-based media event; and to invite an attendee to attend the network-based media event. Other aspects of the invention includes a process and a method.

BACKGROUND

The Internet allows for the exchange of data and ideas between people indifferent geographic locations. Further, the Internet is becoming avaluable business communication tool in that it allows people tocommunicate via online discussion groups and meetings.

It is often cumbersome to schedule and conduct an online meeting. Forexample, whenever an individual intends to hold an online meeting, theproposed attendees for the meeting must be manually notified.Additionally, once the meeting is initiated, the attendees must manuallyconnect to and log into the proper meeting. This may result in, amongother things, missed meetings and attendees who choose not to attend dueto the hassles associated with accessing the online meting.

SUMMARY OF THE INVENTION

According to an aspect of the invention, a method includes scheduling apresenting network-based media event.

Implementations may include one or more of the following features. Abroadcast time, a broadcast date, and a broadcast type may be definedfor the media event. Further, one or more options may be defined for themedia event, such as an interactive poll, and a slideshow presentation.

A slideshow presentation may be uploaded, and one or more slides of theslideshow presentation may be converted into a standard image fileformat, such as: a bitmap (BMP) format, a joint photographic expertsgroup (JPEG) format, a graphic image format (GIF), a tagged image fileformat (TIFF), and an encapsulated postscript (EPS) format.

The interactive poll may be configured, and one or more attendees may bespecified to participate in a poll for the network-based media event.

The method may include inviting an attendee to attend the network-basedmedia event. Attendees may be invited by sending an email invitation toan attendee, or generating a pop-up invitation on an attendee computer.

The method may include registering an attendee for the network-basedmedia event. Attendees may be registered by assigning a password to anattendee, collecting information from an attendee, and transferring anapplet to an attendee computer. Alternatively, there may be an automaticattendee registration based on a centralized authorization system likeLDAP, etc.

The method may include reminding an attendee to attend the network-basedmedia event. The attendee may be reminded by sending an email reminderto the attendee or generating a pop-up reminder on an attendee computer.

The method may include executing the network-based media event. Abrowser may be launched on an attendee computer at a predefined time,and this browser may be launched by an applet resident on the attendeecomputer.

A connection may be established between an attendee computer and aremote server. A data stream broadcast by the remote server may beaccessed by the attendee with the browser. This data stream may be anencoded data stream that needs to be decoded.

A connection may be established between a remote server and a hostcomputer, a host telecommunication device, or a host videoconferencingdevice.

A data stream may be broadcast from a remote server to one or moreattendee computers. A file representative of a slideshow slide or a pollquestion may be embedded into the data stream. For example, instructionsto advance a slide on the presentation may be embedded inside the streamto ensure that slides are synchronized with audio and/or video.

Poll data representative of an attendee response to the poll questionmay be transmitted from an attendee computer to the remote server. Thepoll data may be stored on the remote server. The data stream may be anaudio stream, a video stream, or an audio/video stream, which may beencoded prior to being broadcast.

The above-described processes may also be implemented as a sequence ofinstructions executed by a processor.

The invention can provide one or more of the following advantages. Thenetwork-based media event may be scheduled. By designating a list ofattendees, automatic notification can occur. Further, initiation of themedia event may be automated on both the host's computer and theattendee's computer. In addition, the invention provides the ability toview a presentation and to interact with the presenter in a a number ofways, for example, polls, question & answer (Q&A), and the like.Furthermore, the invention enables various methods of communication tobe synchronized.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a system including a media event manager;

FIG. 2 is a block diagram of a scheduling configuration screen renderedby the media event manager of FIG. 1;

FIG. 3 is a block diagram of a scheduling process of the media eventmanager of FIG. 1;

FIG. 4 is a block diagram of an invitation process, registrationprocess, and reminder process of the media event manager of FIG. 1;

FIG. 5 is a block diagram of an execution process of the media eventmanager of FIG. 1; and

FIG. 6 is a block diagram of a browser of the media event manager ofFIG. 1.

DETAILED DESCRIPTION

Referring to FIG. 1, a media event manager 10 that allows a host 12 tomanage and orchestrate network-based media events, such as audioconferences, video conferences, and audio/video conferences is shown.These media events may be attended by various attendees 14, 16, 18, 20,and 22 using electronic devices that are coupled together via adistributed network 24 (e.g., the Internet, an intranet, a local areanetwork, or some other form of network). Host 12 typically participatesin the media event using a host device 26, such as a computer, atelecommunication device, or a video conferencing device, for example).Further, attendees 14, 16, 18, 20, and 22 typically participate in themedia event via computers (e.g., computers 28), telecommunicationdevices (e.g., cell phones 30 and 32) or handheld personal digitaldevices (e.g., personal digital assistants 34 and 36).

Media event manager 10 typically resides on and is executed by a server38 that is also connected to network 24. The instruction sets andsubroutines of media event manager 10 are typically stored on a storagedevice 40 connected to server 38. Storage device 40 may be, for example,a hard disk drive, a tape drive, an optical drive, a RAID array, arandom access memory (RAM), or a read-only memory (ROM).

An administrator 42 typically accesses and administers media eventmanager 10 through a desktop application 44 (e.g., Microsoft InternetExplorer™, Netscape Navigator ™, or a specialized interface, not shown)running on a computer 46 that is also connected to the network 22.

Media event manager 10 includes five processes: a scheduling process 48,an invitation process 50, a registration process 52, a reminder process54, and an execution process 56. Host 12 uses scheduling process 48 toschedule the media event, and invitation process 50 to invite theattendees designated by the host. Attendees register their intent toattend using registration process 52. Some time before the media event,a reminder process 54 sends out a reminder to the attendees and, aroundthe time of the media event, the execution process 56 establishes therequired connections and broadcasts the appropriate data streams. Theoperation of each of these processes 48, 50, 52, 54, and 56 is discussedbelow in greater detail.

Referring also to FIGS. 2 and 3, scheduling process 48 allows host 12 toschedule a media event. Typically, host 12 accesses scheduling process48 through a desktop application (e.g., Microsoft Internet Explorer™,Netscape Navigator™, or a specialized interface, not shown) running onhost device 26.

When scheduling a media event, host 12 configures the media event usinga scheduling configuration screen 100 rendered by scheduling process 48.With scheduling configuration screen 100, host 12 can define 150 abroadcast date 102, and define 152 a broadcast time 104 for the mediaevent. Host 12 can also define 154 a broadcast type 106 for the mediaevent, such as whether the event is an audio-based event, a video-basedevent, or an audio/video-based event.

Additionally, host 12 may also select one of more options 108 to beincluded in the media event. Examples of these options includeinteractive polls 110, question and answer (Q&A) 111, slideshows 112 andwhiteboard 113.

In the event that host 12 chooses 156 to include a slideshow in themedia event they are hosting, scheduling process 48 uploads 158 theslideshow presentation to server 38 and converts 160 the slideshowpresentation from a slideshow format (e.g., Microsoft PowerPoint™format) to a standard image file format, such as: a bitmap (BMP)format, a joint photographic experts group (JPEG) format, a graphicimage format (GIF), a tagged image file format (TIFF), and anencapsulated postscript (EPS) format. The power point presentation andconverted pictures may be secured so that they are inaccessible to usersuntil a presenter makes them accessible.

If host 12 chooses 162 to include an interactive poll in the mediaevent, scheduling process 48 allows the user to configure 164 theinteractive poll, which includes defining the questions to be asked, anddefining the answer selections for each question.

Scheduling process 48 allows host 12 to specify 166 a list of attendees114 to be invited to the media event. The list of attendees typicallyincludes one or more email addresses 116, 118, 120, and 122, forexample. Scheduling process 48 may also allow a presenter to select anopen event which will be available to anyone that connects, for example,the event may be advertised on a website.

Referring to FIG. 4, invitation process 50 may invite the attendees (asdesignated by host 12) to attend the media event by sending 200 an emailinvitation (not shown) to the attendee. This email invitation mayinclude a hyperlink that directs the attendee to a web site that allowsthe attendee to register for the media event. Alternatively, a pop-upwindow-based invitation (not shown) may be generated 202 on theattendee's computer (e.g., computer 28). This pop-up invitation may begenerated through the use of an applet (e.g., a cookie) that istransferred to the attendee's computer.

When responding to an invitation, the attendee registers for the mediaevent using a registration process 52. Registration process 52 typicallycollects 204, from the attendee, personal information (e.g., first name,last name, middle initial, employer, and telephone number, for example).Typically, the user identifier is the attendee's email address and theregistration process will assign 206 the attendee a password.Alternatively, a password may be assigned prior to registration, when aninvitation is sent. In addition, a global password may be assigned thatis good for any user having access to it, for example, in groupmeetings.

An applet, such as a cookie, may be transferred 208 to the attendee'scomputer. This applet typically includes information concerning themedia event (e.g., date, time, and type), and information about theattendee, including their user identifier and their password, thusallowing for an automated login to the media event.

Typically, at a predefined amount of time prior to the start time of themedia event, a reminder process 54 will send reminders to the attendeesdesignated by the host 12. These reminders may remind registeredattendees to attend the media event, or remind unregistered attendees toregister for the media event. The timing and frequency of thereminder(s) may be fixed by the administrator 42 or may be adjustable bythe host 12. In a fashion similar to inviting attendees, when reminderprocess 54 reminds attendees, an email reminder (not shown) may be sent210 to the attendees or a pop-up reminder (not shown) may be generated212 on the attendee's computer.

Referring to FIG. 5, execution process 56 executes the media event. Asstated above, at the time of registration, an applet (typically acookie) is passed to the computer of the attendee, such that this cookieincludes information concerning the attendee and the media event thatthe attendee registered for. Accordingly, at a predefined time prior tothe media event (e.g., five minutes), a browsing program may be launched250 by the applet resident on the attendee's computer. This browsingprogram may be any program capable of accessing the media event, such asMicrosoft Internet Explorer™, Netscape Navigator™, or Real Networks RealPlayer™, for example.

A connection may be automatically established 252 between the attendee'scomputer (e.g., computer 28) and the server 38. Depending on the type ofnetwork connection maintained by the attendee, this may involveestablishing a dialup connection to the Internet through an ISP (i.e.,Internet service provider). Once connected to server 38, the attendee'scomputer will log into the media event by transmitting the relevantinformation (i.e., user name, user password, event time, date, and type,for example) to server 38.

Further, in the event that the attendee is accessing the media event viaa handheld device (e.g., cellular phone 30 or personal digitalassistants 34), a cellular data network connection is established priorto logging into server 38. Further, if a cellular phone is used by anattendee, depending on the particular model of cellular telephone, thatattendee may only have access to the voice portion of the media event.

In addition to the connection required by the attendee(s), a connectionis also established 254 between host device 26 and server 38. When host12 schedules the media event, an applet (e.g., a cookie) is passed tothe host device to allow for automated connection of host device 26 tonetwork 24 and server 38. As discussed above, host device 26 may be oneof several devices such as: a computer, a cellular telephone, or a videoconferencing system, and the manner in which a connection is establishedbetween the device 26 and server 38 varies depending on the type ofdevice. If the device is a cellular telephone or a personal digitalassistant, a cellular Internet connection is established through an ISPthat connects the device to server 38. Alternatively, if the device is avideo conferencing device, a connection to server 38 is establishedthrough an ISDN (i.e., Integrated Services Digital Network) connectionthat connects the video conferencing device to a video conferencingbackbone. Further, if host device 26 is a computer, the type ofconnection varies depending on the type of network connection (i.e.,permanent or dial-up) between host device 26 and network 24.

During the media event, a data signal 58 is transmitted from the hostdevice 26 to server 38. The format of this data signal 58 variesdepending on the type of host device and the type of media event. Forexample, if host device 26 is a cellular telephone, the data signal 58is a digitized voice signal. Alternatively, if host device 26 is acomputer or video conferencing device, the data signal typicallyincludes both video and audio components.

If the host device 26 is a computer, data signal 58 may be encoded 256prior to being transmitted to server 38. Typical encoding schemesinclude MPEG (i.e., Moving Picture Experts Group) encoding, AVI (i.e.,Audio Video Interleaved) encoding, and RM (i.e., Real Networks™)encoding, for example.

Once data signal 58 is received by server 38, data stream 60 isgenerated and broadcast 258 to the attendees. In the event that datasignal 58 is already encoded (i.e., data signal 58 was sent by a hostdevice that is a computer), data signal 58 is broadcast as a data stream60 across network 24. Alternatively, if data signal 58 is not encoded oris encoded in a non-standard format, data signal 58 will be encoded 260into a standard format (e.g., MPEG, AVI, and RM) prior to be broadcastas data stream 60. Depending on the type of media event, data stream 60may be an audio stream, a video stream, or an audio/video stream. Datastream 60 may also carry a data channel that instructs a presentation toadvance slides and display polls.

Referring to FIG. 6, attendees typically use browser 300 to access 262data stream 60 broadcast by server 38. Typically, browser 300 includesmultiple data fields 302, 304 that allow for the attendee tosimultaneously view both a video broadcast (as shown in field 304) and aslideshow presentation (as shown in field 302) or a poll question (notshown).

Typically, browser 300 also includes a play button 306 that displays themedia event, a pause button 308 that pause the displaying of the mediaevent, and a scroll bar 310 that shows the current completion level ofthe media event with respect to the overall length of the media event.If the media event is live, the length is undetermined and there is noprogress bar. Browser 300 typically includes the decoders required todecode 264 data stream 60.

When performing the media event, host 12 uses a browser similar tobrowser 300 with a few additional features. Browser 300 may include aselection tool 312 that allows a host to choose what to display in datafield 302, such as a poll question, a slide of a slideshow, whiteboard,Q&A or nothing (i.e., a blank data field). Additionally, a pair of arrowbuttons 314 and 316 allow host 12 to move forward and backward throughthe slideshow presentation, thus varying the display seen by theattendees. In the event that host 12 chooses to display a poll thatincludes multiple poll questions, arrow buttons 314 and 316 allow thehost to toggle between the poll questions. In other embodiments, theremay be a separate interface (not shown) to control slides, control pollsand monitor a Q&A session. For example, the functions may be splitbetween three different people operating three different browserwindows.

In order to ensure that the slides of the slideshow (if applicable) andthe poll questions (if applicable) are synchronized with the video andaudio portions of data stream 60, execution process 56 embeds 266 theindividual slideshow files (in a standard image file format) and embeds268 the individual poll questions into data stream 260. Accordingly, bymonitoring the image (i.e., slide or poll question) that the hostcurrently has selected for displaying in data field 302 and embeddingthat image into the data stream (that includes the audio and/or videoportions of the media event), synchronicity between the images and theaudio/video portions is ensured.

In some cases, it may be too costly, in terms of bandwidth to embed anentire image file within a data stream. In these cases, an instructionto fetch an image is sent in the data stream. The instruction isinterpreted by the presentation and the graphic is retrieved from aseparate server. In other embodiments, images may be retrieved ahead ofthe presentation so that there is no propagation delay.

In the event that the host chooses to include one or more poll questionsand the attendee responds to the poll questions, poll data 62 istransmitted 270 from the attendee's device (e.g., computer, personaldigital assistant, or cellular telephone) to server 38. This poll data,which is stored 272 on server 38, typically identifies various pieces ofinformation, such as the user's identifier and their response to theopinion question.

While the browser described above is shown to include two data fields,other configurations are possible. For example, the browser may includea third data field that allows the attendees to simultaneously view thevideo presentation, a poll question, and a slide of a slideshow.

While the system is described above as broadcasting a feature-richaudio/video data stream that includes both poll questions and aslideshow, the richness of the media event received by the attendee islimited by the device with which the attendee is accessing the datastream. For example, if the attendee is accessing the data stream usinga cellular telephone incapable of displaying video, the attendee will belimited to an audio-only broadcast.

While the system is described above as being primarily executed on aserver, other configuration are possible. For example, through the useof applets (e.g., cookies), events can be triggered on remote computers(e.g., the attendees' computer and handheld devices, and the hostdevice). Therefore, the individual processes described above mayactually be executed on multiple computers.

The system and method described herein is not limited to theimplementation described above; it may find applicability in anycomputing or processing environment. The system and method may beimplemented in hardware, software, or a combination of the two. Forexample, the system and method may be implemented using circuitry, suchas one or more of programmable logic (e.g., an ASIC), logic gates, aprocessor, and a memory.

The system and method may be implemented in computer programs executingon programmable computers that each includes a processor and a storagemedium readable by the processor (including volatile and non-volatilememory and/or storage elements). Each such program may be implemented ina high-level procedural or object-oriented programming language tocommunicate with a computer system and method. However, the programs canbe implemented in assembly or machine language. The language may be acompiled or an interpreted language.

Each computer program may be stored on an article of manufacture, suchas a storage medium (e.g., CD-ROM, hard disk, or magnetic diskette) ordevice (e.g., computer peripheral), that is readable by a general orspecial purpose programmable computer for configuring and operating thecomputer when the storage medium or device is read by the computer toperform the functions of the information framer interface. The systemand method may also be implemented as a machine-readable storage medium,configured with a computer program, where, upon execution, instructionsin the computer program cause a machine to operate to perform thefunctions of the system and method described above.

Implementations of the system and method may be used in a variety ofapplications. Although the system and method is not limited in thisrespect, the system and method may be implemented with memory devices inmicrocontrollers, general-purpose microprocessors, digital signalprocessors (DSPs), reduced instruction-set computing (RISC), and complexinstruction-set computing (CISC), among other electronic components.

Implementations of the system and method may also use integrated circuitblocks referred to as main memory, cache memory, or other types ofmemory that store electronic instructions to be executed by amicroprocessor or store data that may be used in arithmetic operations.

Additionally, implementations of the system and method described aboveneed not be performed by a computer and/or computing device and may beperformed manually using standard arithmetic processes and procedures.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made. Accordingly, otherimplementations are within the scope of the following claims.

1-52. (canceled)
 53. A method comprising: a host computing deviceestablishing a meeting; transmitting, by the host computing device,media data to the meeting; scheduling, by the host computing device, apoll; transmitting, by the host computing device, the poll to themeeting for automatic display on an attendee computing device coupled tothe meeting; and receiving, at the host computing device, the pollresponse from the attendee computing device.
 54. The method of claim 53,wherein scheduling the poll comprises indicating if the poll is forimmediate use.
 55. The method of claim 53, further comprising: providinga user interface that allows a user to select from among a slideshow,the poll, and a whiteboard; receiving a user selection of one of theslideshow and the whiteboard; and transmitting the one of the slideshowand the whiteboard to the meeting.
 56. The method of claim 55, whereintransmitting the whiteboard comprises transmitting data usable to depictmarkings on a representation of a whiteboard.
 57. The method of claim53, wherein transmitting the media data and transmitting the pollcomprises transmitting the media data and the poll for simultaneousdisplay on the attendee computing device.
 58. The method of claim 57,wherein transmitting the media data and the poll comprises transmittingthe media data and the poll for display in a same window.
 59. The methodof claim 53, further comprising connecting the host computing device toa cellular telephone; and transmitting audio only to the cellulartelephone.
 60. The method of claim 53, wherein the media data istransmitted from the host computing device to the attendee computingdevice by a server on an intranet.
 61. The method of claim 53, furthercomprising uploading a slideshow presentation to a server prior toestablishing the meeting; and securing the slideshow presentation fromaccess by the attendee computing device until the host computing deviceindicates the slideshow presentation should be made accessible.
 62. Themethod of claim 61, wherein uploading the slideshow presentationcomprises receiving a user indication of data representative of aslideshow presentation and transmitting the data to the server.
 63. Themethod of claim 53, further comprising scheduling the meeting prior toestablishing the meeting, wherein a user defines a question and answersfor the poll during scheduling.
 64. The method of claim 63, whereinscheduling the meeting comprises receiving an indication of a desiredmeeting time from a user and transmitting the indication of the desiredmeeting time to the attendee computing device.
 65. The method of claim53, wherein the media data comprises at least one of slideshow data andlive video data.
 66. The method of claim 53, wherein transmitting thepoll comprises transmitting an indication of a poll question.
 67. Themethod of claim 53, wherein the host computing device establishes themeeting by connecting to a server configured to distribute the mediadata from the host to the attendee computing device.
 68. Anon-transitory computer readable medium comprising program code, which,when executed by a processor, causes the processor to: communicativelycouple to a plurality of computing devices; transmit media data to theplurality of computing devices provide a user interface that allows auser to select from among a slideshow, a poll, and a whiteboard; receivea user selection of one of the slideshow, the poll, and the whiteboard;schedule the one of the slideshow, the poll, and the whiteboard per theuser selection; and transmit the one of the slideshow, the poll, and thewhiteboard to the plurality of computing devices.
 69. The non-transitorycomputer readable medium of claim 68, wherein the user selection is forthe poll, wherein transmitting the poll comprises transmitting the pollfor automatic display on the plurality of computing devices, and whereinthe program code causes the processor to receive poll responses from theplurality of computing devices.
 70. The non-transitory computer readablemedium of claim 69, wherein transmitting the media data and transmittingthe poll comprises transmitting the media data and the poll forsimultaneous display on the plurality of computing devices.
 71. Thenon-transitory computer readable medium of claim 70, whereintransmitting the media data and the poll comprises transmitting themedia data and the poll for display in a same window on each computingdevice.
 72. The non-transitory computer readable medium of claim 68,wherein one of the plurality of computing devices is a cellulartelephone, and wherein transmitting media data comprises transmittingaudio only to the cellular telephone.
 73. The non-transitory computerreadable medium of claim 68, wherein the media data is transmitted tothe plurality of computing devices by a server on an intranet.
 74. Thenon-transitory computer readable medium of claim 68, wherein the programcode causes the processor to upload a slideshow presentation to a serverprior to communicatively coupling to the plurality of computing devices;and secure the slideshow presentation from access by the plurality ofcomputing devices until a host computing device indicates the slideshowpresentation should be made accessible.
 75. The non-transitory computerreadable medium of claim 68, wherein the program code causes theprocessor to schedule the communicative coupling prior tocommunicatively coupling to the plurality of computing devices, whereinthe user defines a question and answers for the poll during scheduling.76. An apparatus comprising: a processor; and a memory communicativelycoupled to the processor and comprising program code configured to causethe processor to: receive media data, a poll, and scheduling informationfrom a first computing device; and transmit the media data and the pollto a second computing device for automatic, simultaneous display; andreceive a poll response from the second computing device.
 77. Theapparatus of claim 76, wherein the program code is further configured tocause the processor to: receive a selection of one of a slideshow and awhiteboard from the first computing device; and transmit the one of theslideshow and the whiteboard to the second computing device rather thanthe poll.
 78. The apparatus of claim 76, wherein the program code isfurther configured to cause the processor to transmit the media data andthe poll for display in a same window.
 79. The apparatus of claim 76,wherein the program code is further configured to cause the processor tocommunicatively couple the first computing device to a cellulartelephone; and transmit audio only to the cellular telephone.
 80. Theapparatus of claim 76, wherein the program code is further configured tocause the processor to: receive a slideshow presentation prior toreceiving the media data; and securing the slideshow presentation fromaccess by the second computing device until receiving an indication fromthe first computing device that the slideshow presentation should bemade accessible.
 81. A method comprising: receiving, by a server, acommunicative coupling from a host computing device; receiving, at theserver, media data from the host computing device and transmitting, bythe server, the media data to an attendee computing device; receiving,at the server, a poll and scheduling information for the poll from thehost computing device and transmitting, by the server, the poll forautomatic display on the attendee computing device; and receiving, atthe server, a poll response from the attendee computing device.